perm filename NS.ME[CAR,HPM] blob sn#720088 filedate 1988-11-07 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00035 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00006 00002	STANFORD ARTIFICIAL INTELLIGENCE LABORATORY                7 Mar 1975
C00009 00003	Contents                                                       Page 0
C00012 00004	News Service                                                   Page 1
C00016 00005	The Hot Line Program--HOT                                      Page 2
C00020 00006	Command lines                                                  Page 3
C00024 00007	Keyword Expressions                                            Page 4
C00029 00008	Keyword Expressions                                            Page 5
C00033 00009	Keyword Expressions                                            Page 6
C00037 00010	Dates                                                          Page 7
C00041 00011	Dates                                                          Page 8
C00045 00012	The Time Range                                                 Page 9
C00049 00013	Switches                                                      Page 10
C00054 00014	Switches                                                      Page 11
C00059 00015	Presentation of the News                                      Page 12
C00064 00016	Presentation of the News                                      Page 13
C00068 00017	Presentation of the News                                      Page 14
C00072 00018	Searching the News: Pointing Out Keyword Occurrences          Page 15
C00076 00019	Mnemonic Commands                                             Page 16
C00081 00020	Mnemonic Commands                                             Page 17
C00085 00021	Not Again!                                                    Page 18
C00090 00022	Temporary Command Text Storage                                Page 19
C00095 00023	Command File Input                                            Page 20
C00100 00024	Command File Input                                            Page 21
C00104 00025	Output Files                                                  Page 22
C00108 00026	<ESCAPE>I Manual Interruptions                                Page 23
C00112 00027	Automatic Notification                                        Page 24
C00116 00028	Automatic Notification                                        Page 25
C00121 00029	Automatic Notification                                        Page 26
C00125 00030	Retrieving from INDEXed User Files                            Page 27
C00129 00031	Command Summary                                               Page 28
C00134 00032	Command Summary                                               Page 29
C00137 00033	Command Summary                                               Page 30
C00141 00034	Command Summary                                               Page 31
C00145 00035	Comments on the Format of News Service Stories                Page 32
C00148 ENDMK
C⊗;
STANFORD ARTIFICIAL INTELLIGENCE LABORATORY                7 Mar 1975
OPERATING NOTE 72.2









                       THE NEWS SERVICE SYSTEM


                           By Martin Frost






ABSTRACT:

Stories from two  news wires (the Associated  Press and the  New York
Times News Service) are collected and stored on disk as they  come in
and  can be  read selectively  through the  use of  the  News Service
program NS.   To read  the news  using this  program, the  user types
keyword  expressions to  specify the  stories of  interest  and gives
display  commands to  have  particular stories  presented.   The News
Service system features the following: treatment of all but  the most
common words as keywords; retention of the news for a number  of days
limited  only by  disk space  available (the  user can  specify which
days' news he wants to examine); choice of reading either or  both of
the news  wires; automatic  notification of  the user  on arrival  of
selected stories; and display news presentation for users of Stanford
displays. 

Another program, HOT, is used  to type out the news from  either wire
as it is coming in.





The Associated Press news report is made available in  these programs
for  demonstration and  research purposes  only and  caution  must be
exercised to insure  that the news is  not published or  broadcast or
publicly displayed or used for any commercial purpose.
Contents                                                       Page 0




                           C O N T E N T S


SECTION                                                          PAGE

The News Service System .  .  .  .  .  .  .  .  .  .  .  .  .  .  1
The Hot Line Program--HOT  .  .  .  .  .  .  .  .  .  .  .  .  .  1
The News Service Program--NS  .  .  .  .  .  .  .  .  .  .  .  .  2
Command lines  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  3
Keyword Expressions  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  3
Dates .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  6
The Time Range .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  8
Switches .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  9
Presentation of the News   .  .  .  .  .  .  .  .  .  .  .  .  .  12
Searching the News: Pointing Out Keyword Occurrences  .  .  .  .  14
Mnemonic Commands .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  15
Not Again!  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  17
Temporary Command Text Storage   .  .  .  .  .  .  .  .  .  .  .  18
Headline Stories  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  19
Command File Input   .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  20
Output Files   .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  21
<ESCAPE>I Manual Interruptions   .  .  .  .  .  .  .  .  .  .  .  22
Automatic Notification  .  .  .  .  .  .  .  .  .  .  .  .  .  .  23
Retrieving from INDEXed User Files  .  .  .  .  .  .  .  .  .  .  26
Command Summary   .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  27
Using NS .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  31
Comments on the Format of News Service Stories  .  .  .  .  .  .  31
News Service                                                   Page 1



                       The News Service System


We have two news wires  (the Associated Press and the New  York Times
News Service) over which  we get national and international  news (no
local news).   The lines are  read by a  program that  takes incoming
news  stories and  files them  away on  the disk.   As each  story is
filed, it is categorized by  the words occurring in it.   To retrieve
selected stories the user types to the NS program (described below) a
keyword expression indicating what words or combinations of words the
stories of interest should (or should not) contain.

Individuals can  access the  news through two  programs, NS  and HOT.
This document  describes the  use of these  programs for  reading the
news.



                      The Hot Line Program--HOT


The  program HOT  provides the  user a  hot line  to the  news.  When
running from  a Stanford  display, HOT splits  the screen,  using one
half for each  of the two news  wires.  On other terminals  HOT types
out the news from one of  the wires--the user can select the  wire to
be typed out and can in fact switch between the wires.

To  start  up HOT,  type  the  monitor command:  HOT.   While  HOT is
running, the following commands are meaningful:

 HOT COMMAND      EFFECT

 EXIT<cr>         Exit.
 <cr>             Change the news wire being typed out.
 NYT<cr>          Type out NYT (New York Times) news only.
 AP<cr>           Type out AP (Associated Press) news only.
 <ESC>I           Redraw news text and titles on displays only.
 DISPLAY<cr>      Display both NYT and AP news on displays only.
 ?<cr>            Present this list of commands and meanings.

Each command may be abbreviated to one character.  On  displays, that
one character may  be typed with  [CONTROL] and/or [META]  instead of
followed by <cr>.  For instance, [CONTROL]E will exit.

Any of the commands above may be given in the monitor command line by
typing  "HOT;"  followed  by  the  command  desired.    For  example,
The Hot Line Program--HOT                                      Page 2


"HOT;NYT" will start up HOT  in non-display mode typing out  only the
NYT news.

If  the  hot line  is  down (for  instance  for testing  of  the news
system), then HOT  will tell you so  and then stop.  There  are times
when no news is coming in; at such times, HOT will of course type out
nothing.



                    The News Service Program--NS


The program  NS allows  quick access  to stored  news from  any given
period  of  time.  This  program  is started  by  typing  the monitor
command:  NS.  The  user can  then select  stories from  the  news by
typing  in   keyword  expressions  that   indicate  which   words  or
combinations of words  a story must contain  to be of  interest.  The
program will respond by telling  the user how many stories  match the
given expression,  and the  first part  of the  first such  story (if
there are any) will be presented to him.

As each story comes  in over one of  the wires, it is  categorized by
all the words occurring in it except for a small class of very common
words (such as  "the", "a", "and", etc.).   Before a word is  used to
categorize or retrieve stories, if  any one of the suffixes  -S, -ES,
-ING,  -ED  and  -LY  is present,  that  suffix  is  removed  so that
retrieval will not depend on the user's typing the exact form  of the
word  (singular or  plural noun  or verb;  present or  past  tense or
participle of a verb) that occurs in the story.  Suffixes formed when
a final  -Y is changed  to -I  before adding -ES  or -ED  are removed
correctly.

When a  keyword expression  is entered  by the  user, it  is compared
against the categorization lists to find all the stories that fit the
expression.   The keywords  used in  an expression  can be  any words
(consisting of letters only) except the few common words specifically
excluded  from  categorizations.  If  a  common word  is  used  in an
expression  by  mistake, the  program  will give  a  warning  to that
effect.  The suffix removal procedure that is applied to words in the
news stories is also applied to keywords the user enters.

Presentation  of  news  to  users on  Stanford  displays  is  done by
displaying a screenful of text at a time.  News is presented on other
terminals by typing out a portion of a story at a time.

(In all expressions and commands typed to NS, no distinction  is made
between upper-case letters and lower-case letters.)
Command lines                                                  Page 3



                            Command lines


Command lines to NS consist of a command character  possibly followed
by a  text argument.   Some commands allow  a numerical  argument (in
decimal) to  PRECEDE the command  character.  Any  ALPHABETIC command
character that takes a following text argument MUST be separated from
its text argument by a space.  For example, LNEWS<cr> is illegal; use
L NEWS<cr>  instead.   Leading  spaces  are  also  allowed  (and  are
ignored) for all other text arguments.

On displays,  command characters can  be typed with  [CONTROL] and/or
[META]  instead of  being followed  by a  carriage return.   Any text
arguments, however, must be followed by carriage return.

Keyword  expressions are  entered as  text arguments  of  the command
character space.  The command  character colon (:) takes as  its text
argument  a  mnemonic command  name.   Keyword  expressions, mnemonic
commands and the other command characters will be explained later.

When  a command  character which  requires a  text argument  is typed
without it, an informative prompt will be made by NS to  explain what
the argument should be and NS will then await typing of the argument.

Help can be obtained from NS by typing the command character question
mark (?) followed by the name of a switch, mnemonic command,  or help
topic.  Typing a question  mark followed simply by a  carriage return
will cause NS to briefly explain the main command characters  and how
to get more detailed help.

Type altmode to abort a partially-typed command.



                         Keyword Expressions


To  retrieve  stories  using NS,  type  the  command  character space
followed  by  a KEYWORD  EXPRESSION,  which may  be  either  a single
keyword or an expression containing keywords and the operators  +, -,
and *.  Each keyword represents the set of all the stories  it occurs
in.    The  operators   represent  the   set   operations  UNION (+),
INTERSECTION (*), and SET DIFFERENCE (-), which are performed  on the
sets of stories which the keywords represent.  Thus, if you  want all
stories that mention both President and Congress, you should  use the
keyword    expression    "PRESIDENT * CONGRESS";    the    expression
Keyword Expressions                                            Page 4


"PRESIDENT + CONGRESS"  represents  all stories  that  mention either
President  or  Congress;  and  "PRESIDENT - CONGRESS"  represents all
stories that mention President  but not Congress.  The  precedence of
operators is the normal one:  * takes precedence over + and  -, which
have equal precedence.  Operators with equal precedence are evaluated
from  left  to right.   Parentheses  may be  used  freely  in keyword
expressions.

To clarify all this a little, here are a few examples:

       Keyword Expression                        Meaning

---------------------------------    --------------------------------

(PRESIDENT-CONGRESS+WAR)*IMPEACH     All  stories  that  mention both
                                     IMPEACH and either (1) PRESIDENT
                                     and not CONGRESS or (2) WAR (and
                                     possibly CONGRESS).

CONGRESS-PRESIDENT-WAR-IMPEACH       All    stories    that   mention
                                     CONGRESS  but that  mention none
                                     of PRESIDENT, WAR and IMPEACH.

CHICAGO*PLANE + DETROIT*CAR - WAR    All stories that  mention either
                                     both CHICAGO  and PLANE  but not
                                     WAR, or both DETROIT and CAR but
                                     not WAR.

To facilitate finding specific stories, a couple of special forms are
permitted to be used  as keywords in keyword expressions.   The first
of these  is used to  represent all those  stories that  have certain
news  service  sequence  numbers.  (For  an  explanation  of sequence
numbers, see  the section  entitled "Comments on  the Format  of News
Service Stories" on page 31.)  To represent all stories with sequence
numbers  from N  to M,  use  the form  "#N:M".  This  form  may occur
anywhere  a keyword  may  occur in  an expression.   The  form "#N:N"
represents all stories with sequence number N and may  be abbreviated
"#N".  Furthermore,  the form "#0:99999"  represents all  stories and
may be abbreviated  just "#".  In the  form "#N:M", if N>M  then this
form represents  all stories  with sequence  numbers greater  than or
equal to N or less than or equal to M.

The second special form consists merely of a decimal number appearing
in place of a keyword.  If  a number K appears as the  FIRST argument
of an operation,  or as the only  term in a keyword  expression, then
that number represents  the most recent K  stories in the  news.  For
example,  "9 * PRESIDENT" represents,  of the  latest 9  stories, any
Keyword Expressions                                            Page 5


that mention President; and "5" represents the latest 5  news stories
(from  each  wire,  or  10  stories  altogether  if  both  wires  are
selected).   If a  number K  appears as  the SECOND  argument  of any
operation, then that number  represents the K most recent  stories of
the  other   (first)  argument  of   the  operation.    For  example,
"PRESIDENT * 10" represents the  10 most recent stories  that mention
President.

Below are some examples of these special forms in use.

        #2 + #202            All stories with either of these
                             sequence numbers. (These are the
                             usual  sequence  numbers  of the
                             AP news digests.)

        #325:23              All stories with sequence number
                             greater than or equal to 325  or
                             less than or equal to 23.

        #                    All stories.  Useful if you want
                             to peruse through the news.

        #321*BULLETIN        Stories with sequence number 321
                             that contain the word BULLETIN.

        5 - PRESIDENT        Of  the  latest  5  stories, all
                             that do not mention PRESIDENT.

        AP*NEWS*DIGEST*1     The latest AP news digest.

When you enter  a keyword expression  (which must follow  the command
character space), the program makes up a list of all the stories that
fit the  expression.  This  list is called  your CURRENT  STORY LIST.
When you type the next  keyword expression, a new current  story list
is generated  (unless no  stories fit your  new expression)  and your
former current story list is  saved as your PREVIOUS STORY  LIST.  If
you  want to  get back  the previous  story list,  use  the :EXCHANGE
mnemonic command  (see the  section "Mnemonic  Commands" on  page 15)
which exchanges your current and previous story lists.   This feature
is especially useful if you are examining news from several days: For
each wire  being used, the  program must read  in one large  file for
each  day's  news under  consideration  every time  you  enter  a new
keyword expression.  Retrieving your previous story list is thus much
faster  than   reconstructing  it   through  a   keyword  expression,
especially when news from several days is being considered.

Your  current story  list can  be modified  without typing  again the
Keyword Expressions                                            Page 6


keywords you used to get it.  If a keyword expression starts  with +,
-, or *, the missing (first) operand is taken to be the  last keyword
expression  you  typed.  For  example,  if your  last  expression was
"PRESIDENT", you  can use  the expression  "*VIETNAM" to  get stories
that mention both PRESIDENT and VIETNAM.

Furthermore, to add stories  from another keyword expression  to your
current story list, you  can use the command character  plus-sign (+)
instead  of the  space character.   The story  list resulting  from a
keyword  expression  following  the  COMMAND  CHARACTER  "+"  will be
combined with your current  story list.  Note the  difference between
this feature and that described in the preceding paragraph.

A keyword  expression can  be preceded  and/or followed  by switches,
which affect the evaluation of the expression.  There are date, time,
and  mode  switches,  all  of  which  are  explained  in  the section
"Switches" on page 9.

If you  want to use  exactly the same  expression you last  used, the
command character tab  can be used  optionally followed by  any date,
time, or temporary mode switches.  Also, on displays  [META]<cr> will
reload  your line  editor  with the  last command  line  containing a
keyword expression.

NS keeps  track of  the stories you  have seen.   When a  new keyword
expression  is evaluated,  any stories  found that  you  have already
looked at are removed from the new current story list.  The number of
stories so removed is reported along with the number of other stories
found.  To inhibit this removal of stories already seen,  change from
the initial /-AGAIN  mode to /AGAIN  mode.  See the  section entitled
"Not Again!" on page 17.



                                Dates


When started up, NS expects to reference only the news that  has come
in today.  However,  by using the date  switches you can  select what
range of dates is to be considered in constructing a story  list from
a  keyword  expression.   Evaluating an  expression  for  a  range of
several days takes longer than evaluating one for just  today because
a separate data file must be read in by the program for each wire for
each day in the range.

The date range can be  set with the date switches.  The  /FROM switch
sets the beginning date of this range, the /TO switch sets the ending

Dates                                                          Page 7


date of  the range,  and the /ON  and /DURING  switches set  both the
beginning and ending dates.   Each of these switches requires  a date
to be typed after  the switch name.  This  date can be in  almost any
format; here are some example forms:

               MEANING AS                   MEANING AS
DATE           BEGINNING DATE               ENDING DATE

TODAY          today                        today
YESTERDAY      yesterday                    same
SUNDAY         last Sunday before today     same
MONDAY         last Monday before today     same
 ...            ...                          ...
SATURDAY       last Saturday before today   same

24-MAY-74      24 May 1974                  same
74-MAY-24      24 May 1974                  same
MAY-24-1974    24 May 1974                  same
5/24/74        24 May 1974                  same
5-24-74        24 May 1974                  same
5 24 74        24 May 1974                  same
May 24, 1974   24 May 1974                  same
MAY 24, 74     24 May 1974                  same
 ...
24 MAY         24 May of current year       same
MAY 24         24 May of current year       same
MAY-24         24 May of current year       same
24-MAY         24 May of current year       same
5/24           24 May of current year       same
MAY-74         1 May 1974                   31 May 1974

MAY            1 May of current year        31 May of current year
24             24th day of current month    same
74             1 January 1974               31 December 1974
1974           1 January 1974               31 December 1974

Spaces, dashes, slashes and commas can be used in any  combination to
connect parts of a  date (month, day and  year), which can be  in any
order (except when month and day are both given as numbers,  in which
case the month must come  before the day).  Names of months  and days
of the week and the words "TODAY" and "YESTERDAY" may  be abbreviated
to three letters (or less if unambiguous).
Dates                                                          Page 8



Here are some date switches  with dates and their effect on  the date
range.

/ON TODAY           Date range becomes today only.
/DURING MAY         Date range runs from  1 May to 31 May  of current
                    year.
/DURING 74          Date range runs from 1 Jan 1974 to 31 Dec 1974.
/FROM TUES/TO TOD   (This  is two  switches in  same  command.)  Date
                    range is from last  Tuesday (a week ago  if today
                    is a Tuesday) to today.
/ON WED             Date range is last Wednesday only.
/ON 24 MAY          Date range is 24 May of current year.
/ON YESTERDAY       Date range is yesterday only.



                           The Time Range


In addition to  being able to specify  the range of dates  from which
news is to  be retrieved, the user  can choose to consider  only news
that has come in after a given time and/or before another given time.
The combined time/date range  extends from a specifiable time  on the
beginning date to  another specifiable time  on the ending  date.  In
evaluating keyword expressions, only stories that have come in during
the time period given will be allowed to match the expression.

The  beginning time  on the  beginning date  is set  with  the /AFTER
switch; the ending  time on the ending  date is set with  the /BEFORE
switch; both  are set  with the  /AT switch.   The beginning  time is
cleared whenever a beginning date  is given using a date  switch; the
ending time is  similarly cleared whenever  an ending date  is given.
(The times are cleared even  if the new dates specified are  the same
as the old ones.)

The time range feature is especially useful if you read the news more
than once  on a given  day and do  not want to  see the  same stories
twice.  For instance, if you read the news in the afternoon  and have
run  NS at,  say,  11am, then  typing  "/AFTER 11"  will  prevent the
program from  retrieving stories that  you have already  read (except
when  new  parts have  come  in  and have  been  attached  to earlier
stories).
The Time Range                                                 Page 9



The  /AFTER, /BEFORE  and /AT  switches must  be followed  by  a time
(Pacific Time) in one of the following example formats:

          TIME   MEANING        TIME    MEANING

          0000   midnight       2400    midnight (day later)
          0500   5:00am         8:34a    8:34am
          0612   6:12am         9:45     9:45am
          11     11:00am        1056AM  10:56am
          12     noon           12:21   12:21pm
          13     1:00pm         2:22p    2:22pm
          1311   1:11pm         3:23pm   3:23pm
          435PM  4:35pm

The times 12am and 12pm, being somewhat ambiguous, are illegal: use 0
or 24  for midnight and  12 for  noon.  Note that  the times  0000 on
Wednesday and 2400  on Tuesday are the  same, but 0 and  24 Wednesday
are a day apart.

After  9pm Pacific  Time new  stories are  filed under  the following
day's date.  Thus if you have  no time limits and your date  range is
/FROM MONDAY/TO TUESDAY, then you may get stories with times anywhere
from 9pm SUNDAY to 9pm TUESDAY.

The  :DATES mnemonic  command will  type out  your  current time/date
range.   Also, if  you change  the time/date  range or  if  a keyword
expression is about  to be evaluated for  more than a two  day range,
the time/date range will be typed out.
p


                              Switches


A keyword expression (command character space) can be preceded and/or
followed by switches.  A switch  is a slash (/) followed by  the name
of  the switch,  possibly  followed by  an argument  for  the switch.
Switches are used for setting  the times and dates for  which stories
are to be retrieved and  for setting the modes in which  stories will
be presented.

Switches that  set modes  of presentation can  be set  temporarily or
permanently.  Any mode switches that FOLLOW a keyword expression on a
command  line are  interpreted as  TEMPORARY and  are in  effect only
during evaluation of  the current keyword expression--after  that the
permanent switch  values take effect  again.  Any mode  switches that
Switches                                                      Page 10


PRECEDE a keyword expression or that occur alone without  any keyword
expression are made  PERMANENT.  To enable a  mode, type a  slash (/)
followed by the  name of the switch,  e.g., "/CHRONO".  To  disable a
mode, type a slash (/) followed  by a minus sign (-) and the  name of
the switch, e.g., "/-CHRONO".

The  currently available  switches  are listed  and  explained below.
Switch  names  can be  abbreviated  to any  extent  that  leaves them
unambiguous.

TYPE      SWITCH  MEANING

Date Switches     Each of these switches  must be followed by  a date
                  argument.  The  argument format is  explained above
                  in the section "Dates" on page 6.  The effect  of a
                  DATE switch is  PERMANENT until changed  by another
                  date switch.
          /FROM   The  argument following  this switch  specifies the
                  beginning  date in  the  range of  dates  for which
                  stories are  to be  retrieved.  This  switch clears
                  any  beginning  time given  in  a  previous command
                  line.
          /TO     The  argument following  this switch  specifies the
                  ending date in the range of dates for which stories
                  are to be retrieved.  This switch clears any ending
                  time given in a previous command line.
          /ON     The  argument following  this switch  specifies the
                  entire   date  range.    This  switch   clears  any
                  beginning  and  ending  times  given   in  previous
                  command lines.
          /DURING This switch is identical to the /ON switch.

Time Switches     Each of these switches  must be followed by  a time
                  argument.  The  argument format is  explained above
                  in the  section "The  Time Range"  on page  8.  The
                  effect of a TIME switch is PERMANENT  until changed
                  by another time switch or cleared by a date switch.
          /AFTER  The  argument following  this switch  specifies the
                  beginning time on the beginning date.
          /BEFORE The  argument following  this switch  specifies the
                  ending time on the ending date.
          /AT     The argument  following this switch  specifies both
                  the beginning  time on the  beginning date  and the
                  ending time on the ending date.
Switches                                                      Page 11


Mode Switches     Each of these can occur either in a  positive sense
                  (without a minus sign) or in a negative sense (with
                  a  minus  sign).   A mode  switch  is  TEMPORARY in
                  effect   only  when   occurring  after   a  keyword
                  expression; other  occurrences are  PERMANENT.  The
                  initial  modes in  effect  when NS  starts  up are:
                  /AP /NYT /-AGAIN /CHRONO /DPY /-HEADLI
          /AP     Use  the Associated  Press news  when  evaluating a
                  keyword expression.   In /-AP  mode, no  AP stories
                  will be  checked against expressions.   This switch
                  and   the  /NYT   switch  below   are  independent.
                  Together  they determine  what combination  of news
                  wires is used as the source of stories.
          /NYT    Use the  New York Times  News Service  stories when
                  evaluating a keyword expression.  In /-NYT mode, no
                  NY   Times   stories   will   be   checked  against
                  expressions.  See also the /AP switch above.
          /AGAIN  Do not remove from new story lists the stories that
                  have already been  presented (in part or  in whole)
                  to the  user.  In /-AGAIN  mode (the  default), all
                  stories  you have  actually seen  are  removed from
                  each  new   current  story  list   generated;  this
                  prevents stories  that you  have already  read from
                  being retrieved  again by new  keyword expressions.
                  See the section "Not Again!" on page 17.
          /CHRONO Construct   story   lists  with   the   stories  in
                  chronological   order  (oldest   first).   /-CHRONO
                  causes  story lists  to be  constructed  in reverse
                  chronological order.
          /DPY    This switch is meaningful only when the  program is
                  running on a  Stanford display.  Such a  display in
                  /-DPY mode will be treated like a non-display.
          /HEADLI For each  story list constructed  with two  or more
                  stories, a headline story is added at the beginning
                  of the list.  This headline story will  contain the
                  first few  lines of  each story  in the  list.  The
                  positive  sense of  this switch  takes  an optional
                  argument consisting of an equals sign  (=) followed
                  by  a  number specifying  the  requested  number of
                  headline-story  lines  devoted to  each  real story
                  (e.g., "/HEADLI=5").  This number should be between
                  1 and 8 inclusive.  If the argument is omitted, the
                  default  number of  lines per  story will  be used;
                  this  default  is  currently  3.   See  the section
                  "Headline Stories" on page 19.
Presentation of the News                                      Page 12



                      Presentation of the News


Stories are presented to the user in an amount called a frame.

    If you are running NS from a Stanford display, each  frame is
    a screenful of text (about  30 lines) and a single  story can
    be made up of from  one to several frames, only one  of which
    can be displayed  at a time.   Consecutive frames of  a story
    overlap by half a screenful plus two lines.  When you advance
    (or backup) one or two frames, a right arrow (→) is displayed
    in  the  left  margin opposite  the  last  (or  earliest when
    backing up) line that was previously displayed.  If  you move
    by more than two frames (more than one whole  screenful), the
    arrow  is drawn  on the  line closest  to the  previous text.
    When the first frame of  a new story is displayed,  the arrow
    will point to the first line of that story.

    If you are running NS  from some other kind of  terminal, the
    first frame  contains enough  of the first  few lines  of the
    story to give you  a reasonable preview of the  story.  (This
    lets you see what the story is about before the rest of it is
    typed out.)  The remainder  of the story makes up  the second
    frame unless  you have  used the  :FRAME mnemonic  command to
    indicate  the  number  of  lines  you  want  the  second  and
    subsequent frames to contain.  For instance, if you have said
    "9:FRAME" then  each frame  after the first  one will  have 9
    lines, until either the end of the story is reached  or about
    20 frames have  been used.  In the  latter case, the  rest of
    the story will all be included in the last frame,  which thus
    may be longer  than the frame  size you have  indicated; this
    will not  happen unless  you have chosen  a very  small frame
    size (like 4 or 5).   The purpose of having a  settable frame
    size is to allow  users of display terminals (at  Stanford or
    elsewhere) to have the typeout stop before unread  parts have
    gone off screen.

After NS  has presented  a frame of  a story,  it will  await another
command.  There are several frame changing command characters used to
move around in your current story list.

Each story in the  current story list is  actually made up of  one or
more news service stories which  have been linked together by  the NS
system.  Each one of the  news service stories is called one  PART of
the  STORY from  your story  list.  The  frame changing  commands are
oriented towards  displaying either another  FRAME of the  same part,
Presentation of the News                                      Page 13


another PART  of the same  story or another  STORY in the  main list.
Furthermore, for each command that moves you forward a frame, part or
story, there is  a command that moves  you backward a frame,  part or
story.   Thus  there  are  the  following  six  basic  frame changing
commands, each of  which can be  preceded with a  numerical argument.
These six commands appear on the keyboard in two adjacent  columns of
three  characters   each.   On   Stanford  displays,   these  command
characters activate immediately without any control bits  or carriage
return.

  CHAR  EFFECT ON POSITION IN STORY LIST

    U   Advance to the  next story in the  main story list.   If this
        command has a  numerical argument, advance that  many stories
        in the main list.

    I   Same as U but backup in main story list instead of advancing.

    - - -

    J   Advance to the  next part of  the current story.   If current
        part is the  last one, advance to  first part of  next story.
        If this command has  a numerical argument, advance  that many
        parts in the current story,  but not beyond the last  part of
        this story.

    K   Same as J but backup one or more parts instead  of advancing.
        If current part is the first one, backup to the last  part of
        the previous  story.  With  an argument,  do not  backup past
        first part of current story.

    - - -

    M   Advance to the  next frame of  the current part.   If current
        frame is last  one, advance to first  frame of next  part (or
        next story if no more parts).  With an argument, advance that
        many frames  in current  part without  going beyond  the last
        frame of this part.

    ,   (comma) Same as  M but backup one  or more frames  instead of
        advancing.   If  current frame  is  first one  of  this part,
        backup to the last frame of the previous part (or  last frame
        of last part of previous story if current part is  first part
        of story).  With an argument, do not backup beyond  the first
        frame of the current part.

On non-displays, typing just a carriage return as a  command advances
Presentation of the News                                      Page 14


to the next frame exactly like the M command above.  On  displays, no
carriage return is used with frame-changing commands.

On displays, typing one of the above six command characters  with the
[TOP]  key held  down is  the  same as  typing that  command  with an
argument of 99999.  This will advance (or backup) to the last (first)
frame, part or story depending on the command.

Also on displays, the command characters FORMFEED (FORM) and VERTICAL
TAB (VT) are just like M and , (comma) respectively except  that they
advance or backup by TWO  FRAMES instead of one.  Thus  FORM advances
by one screenful (two frames) and VT backs up by one  screenful, each
with two lines of overlap.   If there is only one frame  between your
original position and the end  of the current part when you  give one
of these commands, the command  will only advance or backup  for that
one frame.



        Searching the News: Pointing Out Keyword Occurrences


To find the actual occurrence(s) of a keyword in a story, there  is a
search  facility which  can  be especially  useful when  a  story has
matched an expression and the reason for the match is not  obvious to
the reader.  A quick search by NS will point out the keyword.

There are two groups  of three command characters each  for searching
your current story list for a keyword or other character string.  One
group is for reading the string to be searched for and then searching
for it; the other group  is for searching for a  previously specified
string.  Within each  group, there is  one command for  searching the
whole story list, one for searching the current story  (including all
of its parts),  and one for searching  just the current  part.  These
six commands appear on the keyboard in two adjacent columns  of three
characters each, as shown below.

 CHAR   MEANING AS COMMAND CHARACTER

 T      Read search string and search for it in current story list.
 G      Read search string and search in current story (all parts).
 B      Read search string and search only the the current part.
    Y   Search current story list for previous search string.
    H   Search current story (all parts) for previous search string.
    N   Search current part for previous search string.

Any of the six command characters above may be preceded by  a decimal
Searching the News: Pointing Out Keyword Occurrences          Page 15


argument which specifies how many occurrences of the string to search
for; the last occurrence will be displayed if enough are found.  Each
of the first  three command characters  above (T,G,B) takes  a search
string,  which must  be  separated from  the command  character  by a
space.  For example, T GOOD<cr> will search your story list for GOOD.
For all six search commands, if there is no search string,  the first
keyword in your  last expression will be  used as the  search string.
Only occurrences of the  search string preceded by a  non-letter will
be  found.  In  search  strings, a  space  will match  any  number of
consecutive  characters  all among:  space,  comma,  period, carriage
return,  linefeed;  the  character  down-arrow  (↓)  will  match only
carriage  return followed  by  linefeed.  Searching  starts  from the
current part or from the last place in that part the same  string was
found.

On displays,  a search  string found will  be emphasized  wherever it
occurs in the story.  On  non-displays, the text found will  be typed
out  followed by  about two  lines of  the text  following it  in the
story.



                          Mnemonic Commands


There are  several special commands  which use the  command character
colon  (:)  followed  by  a command  name.   These  are  the mnemonic
commands  and  they are  described  separately below.   Some  take an
optional  numeric argument,  which  should precede  the  colon (e.g.,
"15:FRAME").   The command  names  can be  abbreviated  provided they
remain unambiguous.

MNEMONIC
COMMAND       MEANING

:UNSEEN       Pretend  that no  stories  have been  presented  to the
              user.  This resets the list of stories already  seen to
              null so that no stories will be removed from  your next
              current  story  list  for  already  having  been  seen.
              Stories seen  after use of  this mnemonic  command will
              nevertheless be  added to the  (newly cleared)  list of
              stories seen, and the  state of the /AGAIN  mode switch
              is  unaffected by  this switch.   See the  section "Not
              Again!" on page 17.

:FRAME        Set the frame size for teletype-mode  news presentation
              to  the  number  of lines  indicated  by  the numerical
Mnemonic Commands                                             Page 16


              argument.   For  example,  "15:FRAME"  will  cause  the
              second and subsequent frames of each story typed out to
              contain 15  lines (until the  end of the  story).  This
              command without an argument (":FRAME") resets the frame
              size to the  default of infinity.  See  the explanation
              of  frame  size   at  the  beginning  of   the  section
              "Presentation of the News" on page 12.

:HELP         Present some helpful information  on the use of  NS and
              tell how to get more help.

:SWITCHES     Type out the names of all the switches.

:MODES        Type out the current mode switch settings.

:DATES        Type  out the  current time/date  range and  the oldest
              date  for which  news  is available.   See  the section
              "Dates" on page 6.

:REVERSE      Reverse the order  of the current story  list (changing
              the  order  of  only that  list  from  chronological to
              reverse chronological or vice versa).

:COUNT        Type out  the number  of stories  in the  current story
              list.

:EXCHANGE     Exchange  your CURRENT  STORY LIST  with  your PREVIOUS
              STORY LIST.  Each time a new keyword expression results
              in a new current story list, the old current story list
              becomes the new previous story list.  The  old previous
              story  list is  discarded at  that time.   This command
              allows  you  to  get  back  the  previous  list without
              generating  it  again from  a  keyword  expression.  On
              displays,  this  command  puts you  back  to  the frame
              (within the  old story list)  that was  last displayed.
              On  non-displays,  this  command  leaves  you   at  the
              beginning of  the list.  In both  cases, the  number of
              stories in the new current story list is typed out.

:HEADLINES    Present the headline story for the current  story list,
              generating  that  headline  story  if  necessary.  This
              command  takes   an  optional  numeric   argument  that
              specifies the number of  lines of headline story  to be
              devoted to each  real story, e.g.,  "5:HEADLINES".  See
              the section "Headline Stories" on page 19.

:DSTORY       Delete the current story from your current  story list.
Mnemonic Commands                                             Page 17


              This  is  mainly  useful if  you  want  to  output your
              current story list to a file or a printer and there are
              a  few stories  you  do not  want to  output.   You can
              delete those stories with this and/or the next mnemonic
              command.

:DPART        Delete the current  part from your current  story list.
              This is similar to :DSTORY but only deletes one part of
              the current story instead of all of its parts.

:NOTICE       Present  the NS  notice of  the day,  which is  used to
              inform users  of new and  changed features of  NS.  The
              notice of  the day is  automatically presented  when NS
              starts up unless you type an NS command in  the monitor
              command line that starts up NS.

:COMMANDS     Type out the names  of all of these  mnemonic commands.
              Type ?COMMANDS  to get a  brief explanation of  each of
              these.



                             Not Again!


To avoid getting  the same story from  two or more  different keyword
expressions, NS keeps a list of stories that have already  been seen.
The  current setting  of the  /AGAIN mode  switch  determines whether
stories already seen will be included in the story list being created
in  the evaluation  of a  new keyword  expression.  /AGAIN  mode will
allow such  stories to  be included.  The  default mode  /-AGAIN will
exclude such stories from a new story list.

If you  want to see  the stories  that have been  removed from  a new
story list for  already having been  read, type the  command "+<cr>".
This will replace in  your current story list those  excluded stories
just  as if  you had  been in  /AGAIN mode  when the  story  list was
generated.

The mnemonic command  :UNSEEN will mark  all stories already  seen as
never having been seen as of the time this command is given.

When you exit, NS writes a TMPCOR file containing the list of stories
you  have already  seen.  If  you start  NS up  again  later (without
logging out), NS will read that list back in and thus  remember which
stories you have  already seen.  (Since  TMPCOR space is  limited for
each job, at  most 64 entries from  the list of stories  already seen
are written into the TMPCOR file.)
Not Again!                                                    Page 18


Stories which have a new part  added to them after you see  them will
be marked  as not  having been seen.   Therefore, if  you get  back a
story which you have already read, it is probable that a new part has
been added to that story.



                   Temporary Command Text Storage


Sometimes one  may want to  remember a reference  in a story  to some
particular  news item  that  is of  interest  but which  it  would be
inconvenient to go look  at immediately.  NS will do  the remembering
for you  by allowing you  to store an  arbitrary text string,  to add
text to the end of the string, and to recall the string for execution
as an NS command later.  This is accomplished with the  following two
command characters which manipulate your temporary stored text string.

 CHAR   MEANING AS COMMAND CHARACTER

   <    This types out the currently-stored temporary string, if any,
        and then appends to that  stored string a space and  the text
        following  the "<".   Typing "<"  without any  following text
        will just cause the currently-stored string to be  typed out.
        The maximum allowed length  of the temporary string  is about
        140  characters  (limited by  the  size of  the  display line
        editor).

   >    This command loads your terminal's input buffer  (line editor
        if you are on a display) with a Space followed by  the stored
        temporary string  and then  clears the  string to  null.  The
        next < command you give  after > will find no string,  but if
        you use >  again before using <  then the same string  wil be
        loaded into your input  buffer again.  Note that since  the >
        command puts a Space  in front of your temporary  string when
        loading  your input  buffer,  the resultant  command  will be
        interpreted as a  keyword expression unless you  change (with
        the line editor) the command character Space.

For  instance,  if you  are  reading the  AP  news digest  and  see a
reference  to  a story  you  want to  read  later, you  can  type "<"
followed by the  keyword expression you would  use to get  the story;
then you can go back  to reading the digest.  If the  digest mentions
another story of interest, type "<" followed by the  appropriate text
to be appended to the previous expression (i.e., the second  time you
should probably  say "<+...").   When you  have finished  reading the
Temporary Command Text Storage                                Page 19


digest, type  ">" and  carriage return; then  edit, if  necesary, the
resulting text  in your line  editor (if on  a display),  and finally
type carriage return to activate the retrieved keyword expression.



                          Headline Stories


Through  use of  either  the /HEADLI  mode switch  or  the :HEADLINES
mnemonic command,  a special  headline story  can be  generated which
will include  the first few  lines of each  story in your  main story
list.  Such a  headline story can allow  you to choose  which stories
you want to read in more detail.

The headline  story is created  in core by  reading in the  first few
lines of each  main story and combining  this text into  the headline
story.  The headline story is  not actually created until you  ask to
see  it.   To  create this  story  requires  NS to  do  about  5 disk
operations (as counted  in the wholine) per  main story in  the list.
Thus if there  are several hundred stories,  it will take  NS several
seconds to create this story.  However, once the story is created, it
is kept in core until you change story lists.  The headline  story is
inserted at the front of the story list and is referred to as story 0
in the list.

Text is packed  into the headline story  as tightly as  possible with
carriage returns, linefeeds, and redundant spaces omitted.  The first
line of each  entry in the headline  story begins with the  number of
the particular story within  your main story list.  This  is followed
by the story's sequence number and the day of the month the  story is
from.  Subsequent lines for the same story's entry are indented.  The
number of lines of headline  story devoted to each story in  the list
is always between 1 and 8 and is determined either by the user  in an
argument to the /HEADLI switch or to the :HEADLINES  mnemonic command
or  by  the  program  if  such  an  argument  is  not  given   or  is
unreasonable.   The  default  number  of  lines  of   headline  story
allocated to each  story is currently 3.   If there are  more stories
than can  be included in  the headline story,  the headline  story is
made up of stories from the front of the story list until  space runs
out, at which point "..." is placed at the end of the  headline story
to indicate that it is incomplete.

If you type <ESC>I (on a Stanford display) while a headline  story is
being made, the headline story will be left incomplete (and marked so
with "...") and then presented to you.
Command File Input                                            Page 20



                         Command File Input


NS can be made to read keyword expressions automatically from  a disk
file, pausing to  let the reader examine  each story list  before the
next expression  is read.  To  use this method  of input,  the reader
should set up  a command file containing  a line which  begins "NS:".
The  keyword  expressions  should  follow  the  "NS:"  with different
expressions separated by commas (,) and the last  expression followed
by  a semicolon  (;).  Carriage  returns, linefeeds,  formfeeds (page
marks),  tabs  and  nulls  are all  discarded  when  appearing  in an
expression read  from a command  file.  Probably the  most convenient
file to use for this  purpose is the file OPTION.TXT, which  can also
be used by other  programs for other special options.   The following
commands invoke reading from a command file.

 CHARS  MEANING AS NS COMMAND

   @    Open  the command  file whose  name follows.   Then  read and
        evaluate keyword expressions from the file until some stories
        are   found.    If   no   filename   is   given,   the   file
        <programmer-name>.NAP[2,2]  (your notification  file--see the
        section  entitled  "Automatic Notification"  on  page  23) is
        used; if that file is not found, then your OPTION.TXT file is
        used.  If a filename is given with no extension,  the default
        extension .TXT is used.
   @+   Same as "@" but read in all expressions from the command file
        and combine all of the resulting story lists into one list.
   Q    Read another keyword  expression from the open  command file,
        if any.

For example,  @INP<cr> will open  the file INP.TXT,  look for  a line
beginning "NS:" and then read the keyword expression  following.  The
command @INP.<cr> will open and  read from the file INP.   Just @<cr>
will open and read from OPTION.TXT (unless you have some News Service
Notifications  awaiting you).   The command  @+INP<cr> will  read and
evaluate  all  the  expressions  from  INP.TXT,  combining   all  the
resultant stories into one big list.

Every keyword expression read from  a command file will be  typed out
preceded by an at-sign (@) to indicate that it came from the file.

If you hit the end of the current story list with any of the U,  J, M
and   Formfeed   command   characters,   another    expression   will
automatically be read from your open command file, if any.

Here is a sample command file (OPTION.TXT):
Command File Input                                            Page 21



LOGIN: WHO;
NS: AP*NEWS*DIGEST/-CHRONO/-NY/AP,
    BULLETIN+URGENT,(TRAIN+PLANE)*CRASH;
LOGOUT: ME;

This  file  contains  three  keyword  expressions.   The   first  one
("AP*NEWS*DIGEST/-CHRONO/-NY/AP")  will  present the  latest  AP News
Digest.  The second expression is "BULLETIN+URGENT" and the  last one
is "(TRAIN+PLANE)*CRASH".



                            Output Files


Three command  characters are available  for outputting stories  to a
disk file or to one of the printers.  Each of these  characters takes
a  following  text argument  which  specifies the  output  device and
filename.

 CHAR   MEANING AS COMMAND CHARACTER

  O     Output the entire current story list.
  L     Output the current story (with all of its parts).
  .     (Period) Output just the current part.

Follow any of the above command characters with a space and either
        LPT:    (for spooling on the line printer)
        XGP:    (for spooling on the XGP)
OR a disk filename (for output  to a file).  The device names  can be
abbreviated but the  colon (:) must  be present.  The  default output
file extension .NS  is used if no  extension is given.   To exemplify
this, L FILEX<cr>  will output  your current story  (with all  of its
parts) to the disk file  FILEX.NS on your current disk  area (alias);
and O LPT:<cr> will spool the  entire current story list on  the line
printer.  When just  spooling is done, the  stories are written  in a
file on your real (logged-in)  disk area with a name  like $NEWS0.NS,
which will be spooled and deleted.

If a specified disk output  file already exists, it will  be extended
by appending the  selected stories to the  end of the file.   E files
may be extended this way without invalidating the  directory.  (Note:
Only the  record pointer on  the directory page  is updated so  the E
will  accept  the  directory.   The  text  of  the  first  line  of a
previously empty  page is  not added  to the  directory when  text is
output to that  page.)  You can  override this default  (of extending
Output Files                                                  Page 22


the  file) by  following the  filename with  either of  the following
switches to specify  what action is to  be taken if the  file already
exists:
        /REPLACE   (Replace existing file with new file.)
        /ABORT     (Abort the output if file already exists.)

Also, to  spool an  output file which  you want  to keep,  follow the
filename with either
        /SPOOL  (for spooling on the LPT)
or      /XSPOOL (for spooling on the XGP).

If you  type <ESC>I (on  a Stanford display)  while NS  is outputting
stories to a file (whether  or not for spooling), the output  will be
discarded and any spooling suppressed.

Each story  output to a  file (whether for  spooling or not)  will be
followed in the  file by a row  of stars (*'s).  Individual  parts of
the same story will be separated by rows of dashes (-'s).  To let you
know how far the output has gotten, when the first (or only)  part of
a story is output, a dollar  sign ($) will be typed on  your terminal
and as each subsequent part of  the same story is output, a  dash (-)
will be typed out.



                   <ESCAPE>I Manual Interruptions


Certain operations done by NS may occasionally take long to complete.
The  user  (of  a  Stanford  display)  can  interrupt   certain  such
operations by typing <ESC>I.  This  will cause NS to stop what  it is
doing at the  next reasonable point and  return control to  the user.
(Although this  type of  interruption is  not currently  available on
non-displays, it may soon be implemented for such terminals through a
similar mechanism.)

The following operations can be interrupted:

    Making headline  stories.  If  you interrupt  NS while  it is
    doing  this,  the  headline  story  will  be  left incomplete
    (marked so by "..." at the end) but will be presented  to you
    as though it had been finished.

    Outputting stories to a  file.  If you interrupt NS  while it
    is doing this, the  output will be discarded.  If  the output
    file was to have been spooled, it will not be.
<ESCAPE>I Manual Interruptions                                Page 23


    Evaluating a  keyword expression.  NS  will finish  using the
    day's data that is in core when you interrupt and then return
    as if the evaluation of the expression had been completed for
    all days in the date range and for all wires selected.

    Automatic reading  of an  input command  file.  This  will be
    disabled by any use of <ESC>I.



                       Automatic Notification


Sometimes  you  may  want  to  find  out  about  a  particular  story
immediately upon arrival of the story.  The NS Automatic Notification
facility  is provided  for  this purpose.   Each user  can  enter any
number of Automatic Notification requests, each of which will consist
of a keyword expression and optional switches. Whenever a story comes
in that  matches a request,  the requestor is  notified by  a message
placed  in  his  notification  file, which  is  a  message  file with
extension  .NAP and  residing on  disk area  [2,2].  If  the  user is
logged in when one of his requests matches a story,  the notification
message will also  be typed out on  his console.  Notification  is on
the basis of your logged in programmer name, not your alias.

The main uses for Automatic Notification are:

    1) You  are  expecting an  urgent  story to  come  in  at any
       moment, and you want to be notified as soon as it comes in
       (assuming  you  are  logged  in).   Automatic Notification
       saves you  the trouble  of running NS  every half  hour to
       find out if your story has come in.

    2) You are expecting  a story to come  in within a  couple of
       months,  but  you  don't  know  exactly  when.   Automatic
       Notification saves you the effort of running NS every day,
       if you wouldn't otherwise do so, or at least saves you the
       trouble of entering the same expression every day.

    3) You  want  to  collect stories  about  some  subject.  The
       stories may  come in at  the rate  of one a  day or  one a
       month.  Automatic  Notification can  save the  stories for
       you in a file  so that you will  not miss any even  if you
       are gone for a while.

If  you find  you are  being notified  about the  same kind  of story
several times a day, and if the stories are not  particularly urgent,
Automatic Notification                                        Page 24


then you will probably find that the normal use of NS, possibly using
a command  file (see the  section "Command File  Input" on  page 20),
will be more convenient.

Every notification request has associated with it an expiration date.
The default expiration date for new requests is three months from the
request date.   However, you can  explicitly set the  expiration date
for a request by using the  /TO switch followed by the date  you want
the request to expire.  You can also set the effective beginning date
for a request by  using the /FROM switch  followed by a date,  or you
can set both by using the /ON or /DURING switches.

You  will  be  MAILed  an expiration  notice  for  each  request that
expires.   For requests  of  more than  one week's  duration,  the NS
system  will MAIL  you  a warning  message  about a  week  before the
request expires.

The   following   commands  are   available   for   making  Automatic
Notification  requests,  for deleting,  modifying  and  renewing such
requests, and for reading the stories found by such requests.

  COMMAND            MEANING FOR AUTOMATIC NOTIFICATION

  $<expr><switches>  Enter an Automatic Notification request with the
                     keyword    expression   <expr>    and   optional
                     <switches>.
  $                  Display  the  user's  current  notifications and
                     requests.
  $-                 Allow   the   user   to   delete   any   of  his
                     notifications and/or requests.
  $-<expr>           Allow  the user  to delete  any of  his requests
                     that contain the keyword expression <expr>.
  $*<switches>       Allow the  user to modify  any of  his requests.
                     The optional <switches> override previous switch
                     settings  in any  requests modified.   Unless an
                     expiration date is  given using the  /TO switch,
                     any modified requests will be renewed  to expire
                     no soon than three months from day of renewal.
  $*<expr><switches> Allow  the user  to modify  any of  his requests
                     that contain the keyword expression <expr>.  The
                     <switches> are optional as above.
Automatic Notification                                        Page 25


  @                  Open the user's notification file, if it exists,
                     as  an  input  command file.   If  there  are no
                     notifications,  this  opens  the   command  file
                     OPTION.TXT.   This  command  will  evaluate  the
                     first expression in the command file.   When the
                     end of  your notification  file is  reached, you
                     will be  asked if  you want  to delete  all your
                     notifications, which you will have just seen.
  @∂<prg>            Open the notification  file of user <prg>  as an
                     input command file.  Notifications read this way
                     will affect your date/time range.
  Q                  Read  the  next expression  from  currently open
                     command  file.   This  will  retrieve  the  next
                     notification story if your notification  file is
                     open.
  @+                 Same as @ but read all expressions  from command
                     file opened  and combine resulting  stories into
                     one big story list.

The optional <switches> above  may include: the /TO,  /FROM, /DURING,
and /ON  switches (for setting  beginning and/or expiration  dates of
requests); the  /NYT and  /AP switches (with  or without  minus signs
(-'s) to select the  news wires to be  used with a request);  and the
special switches explained below.

  SWITCH    MEANING IN AUTOMATIC NOTIFICATION REQUEST

  /OUTPUT   This switch must be followed  by the name of a  file in
            which you  wish to  save the  text of  stories matching
            this request.  If neither of the following two switches
            also appears in the  request, any existing file  of the
            same name will be overwritten when a story  matches the
            request.  (That is, /REPLACE is the default.)
  /REPLACE  This switch,  which applies only  if an output  file is
            specified, will cause the output file to be overwritten
            with a new file each time a story matches  the request.
            This permits you to keep only the latest story matching
            the request in the output file.
  /EXTEND   This switch, which also applies only if an  output file
            is specified, will cause the output file to be extended
            with  each  new  story matching  the  request.   If the
            output  file has  a valid  E directory  page,  then the
            directory  will  be  updated  each  time  the  file  is
            extended.   Note:  Only  the  record  pointer   on  the
            directory  page is  updated so that E  will  accept the
            directory.  The text of the first line of  a previously
            empty page is not  added to the directory when  text is
            output to that page.
Automatic Notification                                        Page 26


            Further  note: If  you have  an  automatic notification
            output file open at the time the News Service  tries to
            extend that  file, you  will have  about 30  seconds to
            close the file to let the News Service access  it.  You
            will know  that the  News Service  wants to  access the
            file because you  will receive a story  notification on
            your terminal, at which time you should close  the file
            and wait  about a  minute before trying  to look  at it
            again.
  /QUIET    This switch inhibits placing of notifications  for this
            request  in  your  notification  file (<prg>.NAP[2,2]).
            When  a  story  matches a  request  that  contains this
            switch, you will still  be notified by a  message typed
            on  your console  (if  you are  logged in)  and  if the
            request specifies an output file then the story will be
            saved there.

Your notification  file can  be most easily  manipulated with  the NS
commands  above,  but  it  can  also  be  handled  with  some monitor
commands.    Say    "TYPE \NAP<cr>"   to    have   it    typed   out,
"DELETE \NAP<cr>" to delete it, and "RCV \<cr>" to be able  to delete
notifications selectively using RCV.



                 Retrieving from INDEXed User Files


The NS system can be  used to retrieve "articles" from a  user's text
file by  keywords.  The  system program  INDEX is  used to  index the
original text file or later to  index new entries to be added  to the
text.  INDEX takes  as input a text  file (E directory  page allowed,
but not SOS  format) with the extension  .TFL; each "article"  in the
.TFL file must be on a separate page.  Output from INDEX  consists of
two files, both with the same primary name as the input file but with
extensions .TXT  and .DAT.  The  .TXT file contains  the text  of the
"articles"  and  the  .DAT  file  contains  the  indexing information
including keyword lists for retrieval.  NEITHER THE .TXT FILE NOR THE
.DAT FILE  SHOULD EVER BE  EDITTED OR OTHERWISE  ALTERED BY  THE USER
EXCEPT WITH THE PROGRAM 'INDEX'.  Below are the NS commands  that can
be used to select a user file for text retrieval.
Retrieving from INDEXed User Files                            Page 27



NS COMMAND      MEANING

=<filename>     Use  the  specified  file  as  the  source   of  text
                "articles"   when   evaluating   subsequent   keyword
                expressions.   The  file  specified  must  have  been
                indexed with the system program INDEX.   This command
                puts you into /AGAIN mode though you can  then change
                to /-AGAIN mode if you so desire.
=?              Type out the name of the user file currently selected
                as the text source.
=               Deselect the currently selected user text file.  This
                reselects the news as the text source.

The time/date range has no effect while a user file is selected.  For
more details on the use of INDEX, see the file INDEX.ME[UP,DOC].



                           Command Summary


Here is a complete list of the NS command characters.  The  first two
in  this  list  have not  been  mentioned  elsewhere.   Following the
command character list are  lists of the switches,  mnemonic commands
and help topics.

 CHARS   MEANINGS AS COMMAND CHARACTERS

   E     Exit to the monitor.  Use this command when you are finished
         reading the news.  If you decide after exiting that you were
         not finished, type the monitor command CONTINUE and you will
         be back to the exact place where you were before you exited.
   V     On displays, redraw the  current story frame on  the screen.
         On non-displays, type out the current frame again.
   ;     (Semicolon) Mail the  command line of  text to [NS,ME]  as a
         comment  or  suggestion  about  NS.   Please  feel  free  to
         complain about anything pertaining to NS.
   ?     (Question mark) Present  some helpful information  about the
         various commands.  If the  question mark is followed  by the
         name  of  a switch,  mnemonic  command or  help  topic, then
         information on that subject will be given.  See the lists of
         those topics below.
 <space> Evaluate the keyword expression and/or switches that follow.
  <tab>  Evaluate last expression with following (optional) switches.
   +     If  +  is followed  by  a keyword  expression  (and optional
         switches),   evaluate  that   expression  and   combine  the
Command Summary                                               Page 28


         resulting story list with  the current story list.  If  + is
         not followed  by anything,  then add  back into  the current
         story list those stories  that were removed from  it because
         they had already been seen by the user.
   /     Evaluate the switch(es) and optional expression that follow.
   :     Execute the following mnemonic command.  See list below.
   @     Open command file and read its first expression.
   @+    Open command file and  read and evaluate all  expressions in
         it, combining all resulting story lists into one new current
         story list.
   Q     Read another expression from currently open command file.
   $     If $ is followed by a keyword expression, enter an automatic
         notification request for that expression (with  any optional
         switches).  If $ is not followed by anything, simply display
         the  user's  current Notifications  and  Requests.   See the
         section "Automatic Notification" on page 23.
   $-    Allow deletion of automatic notification requests.  If $- is
         followed  by a  keyword expression,  only allow  deletion of
         requests matching that expression.
   $*    Allow renewal and/or modification of  automatic notification
         requests.  If $* is  followed by a keyword  expression, only
         allow   renewal/modification  of   requests   matching  that
         expression.  Any switches  appearing with this  command will
         override the switch settings of any requests modified.  This
         command cannot be used to modify the keyword expression of a
         request.  To do that you must delete the old request and put
         in a new one.
 =<file> Use the specified file as the source of text "articles" when
         evaluating   subsequent  keyword   expressions.    The  file
         specified  must have  been indexed  with the  system program
         INDEX.  This  command puts you  into /AGAIN mode  though you
         can then change to /-AGAIN mode if you so desire.
   =?    Type out the name of the user file currently selected as the
         text source.
   =     Deselect  the  currently  selected  user  text  file.   This
         reselects the news as the text source.
 T-G-B   Search for the following string.  See the section "Searching
         the News: Pointing Out Keyword Occurrences" on page 14.
 Y-H-N   Search for previous string or first keyword of expression.
 U-J-M   Move forward in story list by one story, part or frame.
 I-K-,   Move backward in the story list by one story, part or frame.
 O-L-.   Output current story list, current story or current part.

Any alphabetic command character that takes a following text argument
(currently the  Search commands  T,G,B and  the Output  commands O,L)
must  be  separated  from   its  text  argument  by  a   space.   The
frame-changing commands IK,UJM and digits which are part of a numeric
Command Summary                                               Page 29


argument  all activate  immediately on  displays without  any control
bits or carriage return being typed.

Type <altmode> to abort a partially-typed command.

On displays:

Type <ESC>I to interrupt a long process already started.
Type [META]<cr> to reload your line editor with the last command line
containing a keyword expression.


Here is a list  of the command characters organized  approximately as
they appear  on the  keyboard.  The  type of  text argument,  if any,
which follows each command character, is indicated.
- - - -
 $<keyword expression>      =<INDEXed file>     +<keyword expression>
 <tab><temporary switches>     @<input filename>     ;<comment on NS>

 Q   E    T<search string>   Y   U   I   O<output filename or device>
          G<search string>   H   J   K   L<output filename or device>
       V  B<search string>   N   M   ,   .<output filename or device>

 <space><keyword expression>    :<mnemonic command>   ?<help subject>
- - - -


Below are the mode switches available, with brief  explanations.  For
help  on any  of these,  type  the switch  with a  question  mark (?)
instead of a slash (/).

SWITCH  MEANING OF POSITIVE SETTING

/AGAIN  Do not remove stories already seen from new story lists.
/HEADLI Generate a headline story for each new story list.
/DPY    Treat the terminal as a display (only if it really is one).
/CHRONO Construct new story lists in chronological order.
/AP     Use the AP news as a source when evaluating an expression.
/NYT    Use the NYT news as a source when evaluating an expression.
Command Summary                                               Page 30



Below are the date/time switches available, with  brief explanations.
For help on any  of these, type the  switch with a question  mark (?)
instead of a slash (/).

SWITCH  EFFECT ON DATE/TIME RANGE

/FROM   Set beginning date in range to date following.
/TO     Set ending date in range to date following.
/ON     Set beginning and ending dates in range to date following.
/DURING Same as /ON.
/AFTER  Set beginning time on beginning date to time following.
/BEFORE Set ending time on ending date to time following.
/AT     Set beginning time on beginning date and ending time on
        ending date to time following.


Next is a list of the mnemonic commands with brief descriptions.  For
help on any of  these, type the command  with a question mark  (?) in
place of the colon (:).

COMMAND    DESCRIPTION

:HEADLINES Creates a headline story for your current story list.
:DSTORY    Deletes current story (all parts) from your current list.
:DPART     Deletes current part from your current story list.
:HELP      Explains the main command characters.
:NOTICE    Displays the current NS "notice of the day," if any.
:SWITCHES  Lists the available switches.
:MODES     Lists your current mode switch settings.
:EXCHANGE  Exchanges your current and previous story lists.
:REVERSE   Reversus the order of your current story list.
:COUNT     Tells how many stories in your current story list.
:FRAME     Sets frame size for non-displays (precede with size).
:DATES     Types out current time/date range.
:UNSEEN    Clears the list of stories already seen.
:COMMANDS  Lists the names of these mnemonic commands.


Finally, here is the list of  help topics.  Type any of these  to get
help on that subject.

HELP TOPIC   DESCRIPTION

?OUTPUT      How to output stories to a file or a printer.
?SPOOL       Same as ?OUTPUT.
?CMDFILE     How to use an input command file.
?KEYWORDS    What constitutes a keyword or special form.
Command Summary                                               Page 31


?EXPRESSIONS Construction of keyword expressions.
?MOVE        Frame moving command characters.
?SEARCH      Searching for a word in your current story list.
?NOTIFY      How to use automatic notification.
?TMPSTORE    How to temporarily store a command text string.
?INDEX       How to use NS to read INDEXed user files.
?CHARACTERS  Keyboard chart briefly explaining command characters.
?TOPICS      Lists of switches, mnemonic commands and help topics.
?EXAMPLES    Some example NS command lines.



                              Using NS


To start  NS, type  the monitor command:  "NS".  Any  characters that
follow  the NS  in the  monitor command  will be  taken as  the first
command line to NS.

The  NS  monitor  command  starts  the  program  with  some temporary
privileges that  are needed by  the program.  Any  subsequent monitor
command that attempts  to change your core  image or disk  ALIAS will
disable these privileges and prevent NS from working.

When started up, NS  will tell you for how  far back in time  news is
available.  Whenever awaiting a command, NS will type out a space and
a dot (" .") to prompt the user.



           Comments on the Format of News Service Stories


Each story received over one of the news wires has a  sequence number
which comes at the beginning of the story and a date and/or time that
come at the end.  After  the sequence number, we insert the  date and
time  (Pacific Time)  we received  the story.   The  sequence numbers
start over  every day, with  the first story  that comes  after about
midnight  Eastern  Time  getting  number  001.   The  sequence number
appearing at the beginning of  a story will have a one  letter prefix
that identifies the originating  news wire: "a" for  Associated Press
and "N" for New York Times.

Certain special stories are given sequence numbers out of  the normal
order; these  stories have  numbers greater  than 400  for the  AP or
greater than 100 for the New York Times.  The time at the end of each
story is put in by the  wire service and is generally the  local time
when the story was sent over the wire.
Comments on the Format of News Service Stories                Page 32


Every twelve hours (at about noon and midnight Eastern Time) there is
an AP news digest that summarizes the AP stories that are known to be
coming in  over the  next twelve  hours.  The  digest at  midnight is
usually story number  a002 and is called  the PMs digest; the  one at
noon is  usually number a202  and is called  the AMs digest.   No PMs
digest is sent  for Sunday.  AP stories  that have been  mentioned in
the latest digest bear the heading word "BJT" (pronounced "budget").

There are many stories every day that are corrections or additions to
previous stories.   We try to  link up each  such follow-up  with the
original and treat the  resultant combination as one story.   We call
each of the  separately numbered news service  stories a PART  of the
total story.  Long stories are usually broken up into smaller stories
by the wire services; the  partial stories are called TAKES  and each
gets its  own sequence  number.  We  sometimes link  together several
takes just  like additions and  corrections.  (There is  currently no
attempt to link up related NY Times stories.  Only AP stories  are so
linked.)